协议规范

5.1 协议主流程

协议主流程

主要的消息交互流程如上图:

  1. UI交互形成Transaction,并通过RestAPI发送到代理节点
  2. 代理节点通过交易主题,将交易向全网广播,传播給候选人节点
  3. 候选人节点收集交易,如果成为选秀胜出的主席节点,将交易打包成块,向其他代表节点请求背书
  4. 其他节点验证区块,如果有效,对其进行背书
  5. 主席节点收集背书,达到足够数量后,出块并向全网广播,传播給代理节点
  6. 代理节点通过webSocket向UI推送新的区块

系统各组成部分参与主流程的相互关系如下图:

系统各组成部分参与主流程的相互关系

5.2 协议载体

消息的传播通过四种载体:

  • 代理节点提供RestAPI供UI调用,用于提交交易;(1)
  • 代理节点提供WebSocket服务,向UI推送新的区块和事件;(6)
  • Akka Cluster提供Pub/Sub机制,用于广播交易和区块(2、5)
  • Akka Remote提供P2P消息传播,用与背书交互(3、4)

5.3 协议调度过程

协议调度过程